﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace orit120132
{
    class Tesauro
    {
        TabelaHash tabelaT;
        TermoTesauro termoT;


        public Tesauro(string local)
        {
            termoT = new TermoTesauro();
            tabelaT = new TabelaHash(100,local);
        }

        public bool Inserir(string _palavra, string[] _significado)
        {
            termoT = new TermoTesauro();
            termoT.Inserir(_significado);
            if (tabelaT.Inserir(_palavra, termoT))
                return true;
            return false;
        }

        public bool Remover(string _palavra)
        {
            if (tabelaT.Remover(_palavra))
                return true;
            return false;
        }

        public TermoTesauro Buscar(string _palavra)
        {
            TermoTesauro retorno = new TermoTesauro();

            try
            {
                retorno = (TermoTesauro)tabelaT.Buscar(_palavra);
            }
            catch (System.InvalidCastException)
            {
                TermoDicionario t = (TermoDicionario)tabelaT.Buscar(_palavra);
                retorno.significado = t.significado;
            }

            return retorno;
        }

        public void UparXML(string local)
        {
            if (System.IO.File.Exists(local))
                tabelaT.InsereXML();
            else
            {
                tabelaT.CriaXML();
                tabelaT.InsereXML();
            }
        }

    }
}
